package com.shop.interceptor;

import java.net.URLDecoder;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

public class LoginInterceptor implements HandlerInterceptor{

	@Override
	public void afterCompletion(HttpServletRequest arg0,
			HttpServletResponse arg1, Object arg2, Exception arg3)
			throws Exception {
		// TODO Auto-generated method stub	
	}

	@Override
	public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
			Object arg2, ModelAndView arg3) throws Exception {
		// TODO Auto-generated method stub
	}

	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
			Object arg2) throws Exception {
		if(request.getRequestURI().indexOf("preLogin")>=0||request.getRequestURI().indexOf("login")>=0){
			return true;
			
		}else{
			String loginName = null;
			Cookie[] cookieArr = request.getCookies();
			if(cookieArr!=null){
				for (Cookie cookie : cookieArr) {
					if(cookie.getName().equals("LOGINNAME")){
						loginName = URLDecoder.decode(cookie.getValue(),"UTF-8");
					}
				}
			}
			if(loginName==null){
				request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response);
				return false;
			}else{
				return true;
			}
		}
	}

}
